Skip to main content

与数据源的数据链接

为了对远程设备及其运行的应用程序进行读/写访问,您可以将数据源管理器添加到具有一个或多个数据源的应用程序。

数据源管理器的功能允许与远程设备建立连接和通信,并通过数据源变量使其数据可用。此时,合作伙伴通过点对点连接的方式进行通信。根据控制器所在的网络,通过以下方式建立连接 CODESYS 符号或 CODESYS ApplicationV3 数据源类型。

CODESYS 符号数据源类型

CODESYS 符号数据源类型可用 只要 连同 CODESYS 设备。但是,使用这种类型是有利的。

提示

下面一个 CODESYS HMI 设备,您可以配置数据链路与 CODESYS 符号数据源类型或 CODESYS ApplikationV3 数据源类型。我们建议您选择 CODESYS 仅当远程设备上没有可用的符号配置资源时,ApplikationV3 才作为数据源类型。例如,嵌入式或微型 PLC 就是这种情况,其应用程序通常不包含符号配置。

连接设置的要求是符号已在远程设备中配置,因此存在符号文件。远程设备中的应用程序具有符号配置。然后可以通过符号监控建立数据链接。

在符号监视的情况下,读取远程设备上的符号文件并将存储的变量信息用于数据源变量和数据传输。优点是当有人修改远程应用程序而不更新其符号配置时,不必在本地设备中更新应用程序。如果符号文件也位于您的开发系统上(作为项目一部分的文件或符号配置对象),则也可以读取本地符号文件。然后您可以在开发阶段离线工作。

在开发阶段,您可以通过本地符号配置文件离线创建变量列表。这样,您就可以在不连接数据源的情况下,基于符号信息离线开发本地应用程序。

提示

作为 CODESYS Communication 4.5.0.0 和编程系统/运行时系统 V3.5 SP20,结构化数据类型以其原始类型名称而不是以前使用的名称进行传输 GeneratedType_<number>

. 以下连接类型是可能的:
  • CODESYS V2

    这些设备存在于同一网络中。远程 PLC 上的 V2 运行时提供了一个通信接口。

  • CODESYS V2(通过网关)

    设备不在同一网络中。它们通过 V2 网关连接。

    注意:对于此连接,一个 CoDeSys V2.3 网关服务器 (V2 网关)必须安装在开发计算机上 CODESYS V3 正在运行。

  • CODESYS V3

    这些设备存在于同一网络中。远程 PLC 上的 V3 运行时提供了一个通信接口。

  • CODESYS V3(通过网关)

    设备不在同一网络中。它们通过 V3 网关连接。

数据源类型: CODESYS 应用程序V3

此数据源类型在所有设备类型下均可用。

数据链接与 CODESYS Application V3 数据源类型是通过地址监控完成的。这就要求远程 PLC 和本地设备之间的地址信息匹配。本地应用程序的运行时系统需要有效的通信参数才能建立连接。

提示

网络扫描功能可以在配置数据源时为您提供支持。

缺点:如果修改了远程应用程序,那么之后还必须更新本地应用程序(例如,HMI 应用程序。

优点是在远程应用程序中不需要符号配置。

提示

作为 CODESYS Communication 4.5.0.0 中,可以将枚举类型的变量与其原始类型一起传递,而早期版本仅支持枚举的数字基类型。

数据源类型:OPC UA Server

此数据源类型用于 OPC UA 服务器和客户端之间的交换。

有关详细信息,请参阅: 建立数据源 OPC UA 客户端到 OPC UA 服务器的加密连接OPC UA 服务器

注意

“OPC UA 服务器”类型的数据源不支持以下 POU 类型和数据类型:

  • 结构数组

  • OPC UA VariableTypes (质量、工程单位等)

  • Property

  • Method

数据传输

在本地应用程序运行时,出现在本地应用程序的数据源编辑器中的数据源变量 变量 选项卡以可配置的时间间隔更新。远程应用程序也在此时执行。在可视化、趋势、警报或配方中配置的变量会自动传输和存储。仅在 IEC 代码中访问变量时,该变量不会自动更新。在这种情况下,您需要选择 始终更新 数据源编辑器中的选项 变量 标签。

. 数据源类型支持对以下数据类型的源 PLC 变量进行(读或写)数据访问:
  • 顶层标量值

    例子: PLC_PRG.hugo

  • 程序或 GVL 的属性,当标记为 {attribute monitoring := 'call'}

    例子: PLC_PRG.PropertyCall

  • 映射到位地址的变量

    示例中 PLC_PRG: x AT %MX0.5 : BOOL;

  • 变量(类型 BIT) 在功能块中

    示例:声明于 DUT: x, y : BIT,位访问: PLC_PRG.dutInst.y

  • 结构化可获取变量

    例子: PLC_PRG.outerInst.innerInst.dwVar

  • POU实例的属性,当它被标记为 {attribute monitoring := 'call'}

    例子: PLC_PRG.instance.PropertyCall

  • 顶级属性和标记为的实例 {attribute monitoring := 'variable'}

    注意:这不能通过监控或数据源写入。

  • 使用文字索引进行数组访问

    例子: PLC_PRG.arrOfInts[3], PLC_PRG.inst.arrOfBool[1]

  • 嵌套访问(例如,结构数组或数组结构)

小心

仅当它们包含文字偏移规范时,才在通过数据源连接功能传输的可视化中使用位访问。可视化无法通过定义的常量处理偏移规范。